import Vue from 'vue'
import App from './App'
import store from '@/common/store'
import name from '@/common/store/name'
import router from '@/common/router'
import tools from '@/common/utils/tools'
import '@/common/utils/sdk/sdk-h5.js'
import {
	API_URL
} from './env.js'
// 引入router
import {
	RouterMount
} from 'uni-simple-router'
import api from '@/common/request/index'

// 引入mixin
import commonJs from '@/common/mixins/index.js'
Vue.mixin(commonJs);

// 引入uView
import uView from 'uview-ui';
Vue.use(uView);

// 引入支付js
import faliPay from '@/common/utils/pay.js'

//引入ios
import Bridge from '@/common/bridge.js'
Vue.prototype.$bridge = Bridge

// 引入瀑布流
import waterfall from 'vue-waterfall2'
Vue.use(waterfall)

// 引入VConsole
import VConsole from 'vconsole'
const vConsole = new VConsole()

// 引入瀑布流
import VueLazyload from 'vue-lazyload'
Vue.use(VueLazyload)

// 全局变量
Vue.prototype.$bus = new Vue()
Vue.prototype.$store = store;
Vue.prototype.$api = api;
Vue.prototype.$tools = tools;
Vue.prototype.$API_URL = API_URL;
Vue.prototype.$pay = faliPay;
Vue.prototype.$VIEW_URL = 'https://d-falih5.bigchun.com'; //测试
//Vue.prototype.$VIEW_URL = 'https://falih5.bigchun.com'; //正式
Vue.config.productionTip = false;
App.mpType = 'app';
import tool from "@/common/utils/tools";
Vue.use(tool);
const app = new Vue({
	store,
	...App
});

// #ifdef H5
RouterMount(app, '#app');
// #endif

// #ifndef H5
app.$mount();
// #endif

// document.body.addEventListener("focusout", () => {
// 	setTimeout(() => {
// 		const scrollHeight =
// 			document.documentElement.scrollTop || document.body.scrollTop || 0;
// 		window.scrollTo(0, Math.max(scrollHeight - 1, 0));
// 	}, 100);
// });

/*
         * 获取事件冒泡路径，兼容ie11,edge,chrome,firefox,safari
         * @param evt
         * @returns {*}
         */
console.log("====history",app.$route)

var $scope = {
	position:[]
}
function eventPath(evt) {
	const  path = (evt.composedPath && evt.composedPath()) || evt.path,
		target = evt.target;
	if (path != null) {
		return (path.indexOf(window) < 0) ? path.concat(window) : path;
	}
	if (target === window) {
		return [window];
	}
	function getParents(node, memo) {
		memo = memo || [];
		const parentNode = node.parentNode;
		if (!parentNode) {
			return memo;
		} else {
			return getParents(parentNode, memo.concat(parentNode));
		}
	}
	return [target].concat(getParents(target), window);
}

// document.body.addEventListener('touchstart',function(e){
// 	if(e.touches.length>1){//如果多点触控则不更新触摸开始点，防止移动距离计算出现负值
// 		return;
// 	}
// 	$scope.startX = e.targetTouches[0].pageX;
// 	$scope.startY = e.targetTouches[0].pageY;
// 	$scope.touchStartTime = Date.now();
// });
// $scope.position = [];//存放移动过程中的距离和时间戳
// document.body.addEventListener('touchend',function(e){
// 	let pages = getCurrentPages()
// 	if(pages.length>1 && $scope.moveX > 100 && $scope.startX > 0){
// 		var domPath = eventPath(e);
// 		for(var i=0;i<domPath.length;i++){//遮罩或者弹窗显示的情况下禁用滑动返回
// 			if(domPath[i].className && (domPath[i].className.indexOf('dialog')>-1 || domPath[i].className.indexOf('modal')>-1)){
// 				return;
// 			}
// 		}
// 		$scope.touchEndTime = Date.now();
// 		$scope.touchTime = $scope.touchEndTime - $scope.touchStartTime;
// 		$scope.moveSpeed = $scope.moveX / ($scope.touchTime/1000);//平均移动速度，像素每秒
// 		var index = $scope.position.length;
// 		$scope.lastSpeed = 0;
// 		if(index >= 4){
// 			var lastMoveDistance = $scope.position[index-2] - $scope.position[index-4];
// 			var lastMoveTime = ($scope.position[index-1] - $scope.position[index-3])/1000;
// 			$scope.lastSpeed = lastMoveDistance/lastMoveTime;//瞬时移动速度，像素每秒
// 		}
// 		//console.log('平均速度'+$scope.moveSpeed);
// 		//console.log('瞬时速度'+$scope.lastSpeed);
// 		//添加窗口移动过渡动画
// 		setTimeout(()=>{
// 			for(var i=domPath.length-1;i>-1;i--){
// 				if(domPath[i].localName && domPath[i].localName == 'uni-app'){
// 					domPath[i].style.position = 'relative';
// 					domPath[i].style.transition = 'all 0.3s';
// 					domPath[i].style.boxShadow = 'none';
// 					domPath[i].style.left = 0;
// 					break;
// 				}
// 			}
// 		},100)
// 		setTimeout(()=>{
// 			if($scope.moveX > document.body.clientWidth * 0.3 && $scope.lastSpeed > -300){//滑动距离超过屏幕宽度30%并且向左滑动瞬时速度小于300则回退窗口
// 				uni.navigateBack({
// 					delta: 1
// 				});
// 				$scope = {
// 					position:[]
// 				}
// 			}else if($scope.lastSpeed > 300){//瞬时速度超过300px/s则回退窗口
// 				uni.navigateBack({
// 					delta: 1
// 				});
// 				$scope = {
// 					position:[]
// 				}
// 			}else if($scope.lastSpeed == 0 && $scope.moveSpeed > 300){//瞬时速度为零则根据平均速度判断
// 				uni.navigateBack({
// 					delta: 1
// 				});
// 				$scope = {
// 					position:[]
// 				}
// 			}
// 		},500)
//
// 	}else{
// 		var domPath = eventPath(e);
// 		setTimeout(()=>{
// 			for(var i=domPath.length-1;i>-1;i--){
// 				if(domPath[i].localName && domPath[i].localName == 'uni-app'){
// 					domPath[i].style.position = 'relative';
// 					domPath[i].style.transition = 'all 0.3s';
// 					domPath[i].style.boxShadow = 'none';
// 					domPath[i].style.left = 0;
// 					break;
// 				}
// 			}
// 		},100)
// 	}
// });
// document.body.addEventListener('touchmove',function(e){
// 	//取touches第一个值而非targetTouches值，防止多点触控时距离计算出现问题
// 	$scope.moveEndX = e.touches[0].pageX;
// 	$scope.moveEndY = e.touches[0].pageY;
// 	const X = $scope.moveEndX - $scope.startX;
// 	const Y = $scope.moveEndY - $scope.startY;
// 	$scope.moveX = X;
// 	//&& Math.abs(X) > Math.abs(Y) 由于从边缘滑动才有效果，所以无需判断X轴移动距离大于Y轴一定距离
// 	//&& ($scope.startY < $scope.moveEndY + 50 && $scope.startY > $scope.moveEndY - 50)  //y轴不偏离超过50px
// 	let pages = getCurrentPages()
// 	console.log("pages=========pages",pages)
// 	if (pages.length>1 && X > 0 && $scope.startX < 10){
// 		var domPath = eventPath(e);
// 		for(var i=0;i<domPath.length;i++){//遮罩或者弹窗显示的情况下禁用滑动返回
// 			if(domPath[i].className && (domPath[i].className.indexOf('dialog')>-1 || domPath[i].className.indexOf('modal')>-1)){
// 				return;
// 			}
// 		}
// 		//将移动过程中的距离和时间放到数组，计算瞬时速度使用
// 		$scope.position.push(X,Date.now());
// 		if ($scope.position.length > 40) {
// 			$scope.position.splice(0, 20);
// 		}
// 		//将当前窗口的上一个窗口显示出来，当前窗口添加阴影和位置偏离
// 		for(var i=domPath.length-1;i>-1;i--){
// 			if(domPath[i].localName && domPath[i].localName == 'uni-app'){
// 				domPath[i].style.position = 'relative';
// 				domPath[i].style.transition = 'none';
// 				domPath[i].style.display = 'block';
// 				domPath[i].style.boxShadow = 'rgba(0, 0, 0, 0.2) -15px 0px 10px -10px';
// 				domPath[i].style.left = X + 'px';
// 				break;
// 			}
// 		}
// 	} /*else if (Math.abs(X) > Math.abs(Y) && X < 0) {
//                  console.log('right 2 left');
//                  } else if (Math.abs(Y) > Math.abs(X) && Y > 0) {
//                  console.log('top 2 bottom');
//                  } else if (Math.abs(Y) > Math.abs(X) && Y < 0) {
//                  console.log('bottom 2 top');
//                  } else {
//                  console.log('just touch');
//                  }*/
// });
function setImages(val){
	console.log("=====val11",val)
	localStorage.setItem('source',val)
}
